var NUM_CENTYEAR = 30;
// is time input control required by default
var BUL_TIMECOMPONENT = false;
// are year scrolling buttons required by default
var BUL_YEARSCROLL = true;
var calendars = [];
var RE_NUM = /^\-?\d+$/;
var posTop;
var posLeft;
//Global variable (string) added for storing path before it is set to null
var storePath;
//Global variable (boolean)added as a flag to know
//if it is loaded for the first time or subsequent times
var firstTime = true;
//Variable array to store valid separators, new separators can be added directly to this list
var validSeparators = new Array('/', ',', '-',' ');
var SECOND_ELEMENT = 1;
var THIRD_ELEMENT = SECOND_ELEMENT + 1;
//Start - Origin from Calendar.html
// months as they appear in the calendar's title
var ARR_MONTHS = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
var ARR_WEEKDAYNAMES = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
"Friday", "Saturday"];
// week day titles as they appear on the calendar
var ARR_WEEKDAYS = ["S", "M", "T", "W", "T", "F", "S"];
// day week starts From (normally 0-Su or 1-Mo)
var NUM_WEEKSTART = 0;
// path to the directory where calendar images are stored. trailing slash req.
var STR_ICONPATH = '../images/';
var re_url = new RegExp('datetime=(\\-?\\d+)');
var dt_current = (re_url.exec(String(window.location))
? new Date(new Number(RegExp.$1)) : new Date());
var re_id = new RegExp('id=(\\d+)');
var num_id = (re_id.exec(String(window.location))
? new Number(RegExp.$1) : 0);
var obj_caller = (window.opener ? window.opener.calendars[num_id] : null);
var targetObject;
var dt_prev_year, dt_next_year, dt_prev_month, dt_next_month, dt_firstday;
/* This function does basic initialization like current date,
** previous year, next year, previous month, next month and
** first day for current month
**/
function initializeDateVars(dateTime){
if (obj_caller && obj_caller.year_scroll) {
// get same date in the previous year
dt_current = dateTime;
dt_prev_year = new Date(dt_current);
dt_prev_year.setFullYear(dt_prev_year.getFullYear() - 1);
if (dt_prev_year.getDate() != dt_current.getDate())
dt_prev_year.setDate(0);
// get same date in the next year
dt_next_year = new Date(dt_current);
dt_next_year.setFullYear(dt_next_year.getFullYear() + 1);
if (dt_next_year.getDate() != dt_current.getDate())
dt_next_year.setDate(0);
}
// get same date in the previous month
dt_prev_month = new Date(dt_current);
dt_prev_month.setMonth(dt_prev_month.getMonth() - 1);
if (dt_prev_month.getDate() != dt_current.getDate())
dt_prev_month.setDate(0);
// get same date in the next month
dt_next_month = new Date(dt_current);
dt_next_month.setMonth(dt_next_month.getMonth() + 1);
if (dt_next_month.getDate() != dt_current.getDate())
dt_next_month.setDate(0);
// get first day to display in the grid for current month
dt_firstday = new Date(dt_current);
dt_firstday.setDate(1);
dt_firstday.setDate(1 - (7 + dt_firstday.getDay() - NUM_WEEKSTART) % 7);
}
//function added by Robina
var x;
var y;
var z;
var dropdownIndex = 0;
function SetCurrentMonth(){
dropdownIndex = document.getElementById('txtMonth').selectedIndex;
var dropdownValue = document.getElementById('txtMonth')[dropdownIndex].value;
var dt_next_month = new Date(dt_current);
dt_next_month.setMonth(dropdownIndex);
set_datetime(dt_next_month.valueOf(), false);
}
//function added by Robina for year
function SetCurrentYear(){
document.getElementById('txtYear').maxLength;
var dropdownIndex1 = document.getElementById('txtYear').selectedIndex;
var dropdownValue1 = document.getElementById('txtYear')[dropdownIndex1].innerHTML;
//var rob1 = document.getElementById('txtYear')[dropdownIndex1].innerHTML;
var dt_next_year = new Date(dt_current);
var currentyear=dt_current.getFullYear();
var index1 = document.getElementById('txtYear')[0].value;
var index2=currentyear-index1;
dt_next_year.setYear(dropdownValue1);
set_datetime(dt_next_year, false);
}
// function passing selected date to calling window
function set_datetime(n_datetime, b_close) {
var yes=true;
//if (!obj_caller) return;
var dt_datetime = cal_prs_time1(
(document.cal ? document.cal.time.value : ''),
new Date(n_datetime)
);
if (!dt_datetime) return;
if (b_close) {
closeCal();
jQuery(targetObject.target).css({'color' : '#000000'});
targetObject.target.value = (document.cal
? obj_caller.gen_tsmp(dt_datetime)
: obj_caller.gen_date(dt_datetime)
);
}
else obj_caller.popup(dt_datetime.valueOf(),yes,b_close);
}
function clearTextField()
{
obj_caller.target.value = '';
}
function closeCal()
{
//jQuery('#calendarOverlay').hide();
jQuery("#calendarOverlay").slideUp('slow');
}
//function added by Rafi
function yearList(startYear, endYear){
if(startYear==''){
startYear=1920;
}
if(endYear==''){
endYear=2099;
}
var years="";
var curYear=dt_current.getFullYear();
for (startYear;startYear<=endYear;startYear++){
if(startYear==curYear){
years=years+'';
}else{
years=years+'';
}
}
return years;
}
//function added by Rafi for months
function monthList(){
var Months="";
var curMonth=dt_current.getMonth();
for (i=0;i<=11;i++){
if(i==curMonth){
Months=Months+'';
}else{
Months=Months+'';
}
}
return Months;
}
/** This function paints the date picker html
**/
function paintCalendar(element, dateTime){
initializeDateVars(dateTime);
var divElement = feba.domManipulator.getElementById('calendarOverlay');
var divExists = false;
//default zIndex is 100
var zIndex = 100;
//search for modaldialog div
var modalDialogParent = feba.domManipulator.getElement(element).parents("div[id='modalDialog']");
//if inside modalDialog we need to find the zindex of parent div element so the calendar div will be one level above that
if(modalDialogParent.length>=1){
zIndex = feba.domManipulator.getCss(modalDialogParent.parent(),"z-index") + 1;
feba.domManipulator.remove(divElement);
}
divElement = feba.domManipulator.getElementById('calendarOverlay');
if(divElement.length > 0){
divExists = true;
}
var calendarHtml="";
//to check if that calendarOverlay div already exist or
//is this the first time calendar is opened
if(!divExists){
calendarHtml = '